from pydantic import BaseModel, Field, ConfigDict
from typing import Optional
from pydantic.alias_generators import to_camel

class UserInfoResponse(BaseModel):
    """用户信息响应模型"""
    model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True)

    user_id: int = Field(description='用户ID')
    user_name: str = Field(description='用户名')
    nick_name: str = Field(description='昵称')
    email: str = Field(description='邮箱')
    phone: Optional[str] = Field(default=None, description='手机号')
    avatar: Optional[str] = Field(default=None, description='头像')
    status: str = Field(description='状态')
    vip_status: Optional[str] = Field(default='inactive', description='VIP状态')
    vip_expire_time: Optional[str] = Field(default=None, description='VIP到期时间')
    create_time: str = Field(description='创建时间')
